/*
 * Filename:    KpiBatchDao.java
 * Copyright:   2014 中国平安保险（集团）股份有限公司 版权所有
 * Company:     平安科技养老险及健康险系统开发部
 * Create at:   2014年10月10日
 */
package com.paic.mhis.hcpms.quota.calculationreport.calculationjob.intergration.dao;

import java.util.List;

import com.paic.mhis.hcpms.quota.calculationreport.calculationjob.dto.KpiBatchDTO;
import com.paic.mhis.hcpms.quota.calculationreport.calculationjob.dto.KpiBatchDetailDTO;
import com.paic.mhis.hcpms.quota.calculationreport.calculationjob.dto.KpiBatchJobLogDTO;
import com.paic.mhis.hcpms.quota.calculationreport.calculationjob.dto.KpiBatchParamterDTO;

public interface KpiBatchDao {

	/**
	 * 根据指标批次主表 的临时主建
	 * 
	 * @param map
	 */
	public void updateKpiBatchDtoInfoTempBatchId(String tempBatchId);

	/**
	 * 根据状态查询指示器的批次主表信息
	 * 
	 * @param map
	 * @return
	 */
	public List<KpiBatchDTO> queryKpiBatchDTOByStatus(KpiBatchParamterDTO paramter);

	/**
	 * 插入指示器批次详细表记录
	 * 
	 * @param bean
	 */
	public void insertKpiBatchDetailDtoInfo(KpiBatchDetailDTO bean);

	/**
	 * 根据指标批次主表 的主键更新指标批次主表 的状态
	 * 
	 * @param map
	 */
	public void updateKpiBatchDtoInfo(KpiBatchParamterDTO paramter);

	/**
	 * 根据状态查询指标批次次表的数据
	 * 
	 * @param map
	 * @return
	 */
	public List<KpiBatchDetailDTO> queryKpiBatchDetailDTO(KpiBatchParamterDTO paramter);

	/**
	 * 根据指标批次次表的主键更新其状态
	 * 
	 * @param map
	 */
	public void updateKpiBatchDetailDTOStatus(String id, String status);

	/**
	 * 根据指标批次次表的临时主建信息通过status
	 * 
	 * @param map
	 */
	public void updateKpiBatchDetailDTOTempBatchByStatus(String tempBatch, String status);

	/**
	 * 根据状态查询智能审核执行计划表 和指标批次主表的差集
	 * 
	 * @param status
	 * @return
	 */
	public void queryKpiBatchGegionCodeDTOByStatus();

	/**
	 * 插入指标批次主表信息
	 * 
	 * @param bean
	 */
	public void insertKpiBatchInfo(KpiBatchDTO bean);

	/**
	 * 查询批次编号的sequence
	 * 
	 * @return
	 */
	public Long queryBatchNoSequence();

	/**
	 * 保存job日志
	 * 
	 * @param bean
	 */
	public void insertBacthJobLogDTO(KpiBatchJobLogDTO bean);

	public void updateBatchDetailTempBatchIsNull(String status, String id);

}
